
#ifndef _Oz_Webui_UrlResolver_H_
#define _Oz_Webui_UrlResolver_H_

#include <Oz/Webui/Webui.h>

namespace Oz{
    namespace Webui{
        class IAbstractUrlAdapter{
            public:
            virtual ~IAbstractUrlAdapter();
           /**
            * Este metodo se encarga de decodificar una url,
            **/
            virtual Oz::IParamListPtr decode(const IAbstractViewPtr& view,const std::string& url) = 0;

           /**
            * Este metodo se encarga de codificar una para accder a una vista y pasarle unos
            * parametros.
            **/
            virtual std::string encode(const IAbstractViewPtr& view,const Oz::IParamListPtr& params) = 0;

            protected:
            IAbstractUrlAdapter();
            IAbstractUrlAdapter& operator=(const IAbstractUrlAdapter& rhs);
        };
    }
}
#endif
